草庐IT

c - ZwQueryDirectoryFile 恢复

全部标签

Linux 暂停/恢复操作的用户空间通知

我在嵌入式Linux平台上工作。当我执行“echo"mem">/sys/power/state”时,系统将挂起。我知道内核和驱动程序可以知道挂起操作的到来。但是是否有可能用户空间进程或应用程序可以获得系统将暂停的通知?怎么办?例如,我有一个应用程序不断地将“A”写入缓冲区,缓冲区的起始地址由设备驱动程序提供。是否有可能通知此应用程序系统将挂起,以便它可以将所有缓冲区替换为“B”,以便在恢复驱动程序时,驱动程序看到的都是“B”?非常感谢。 最佳答案 一直在寻找同样的东西。但不幸的是,我在挂起/恢复期间没有发现任何用户空间通知。应用程序

linux - 从 Linux 中的 OpenCL 卡住中恢复

我正在带有NVIDIA卡的Ubuntu机器上编写我的第一个OpenCL内核。偶尔,该应用程序会完全卡住整个计算机。鼠标不动,重启的唯一方法是用力按下电源按钮。我意识到卡住的原因是我不小心读取了全局只读float组的最后一个索引。虽然这是我不打算经常做的事情,但它可能会在未来发生。我的问题是-如果再次发生这种情况,是否有任何方法可以防止计算机完全关闭?我知道,例如,Windows可以关闭损坏的GLSL内核并通过重新启动图形驱动程序来恢复。这里可能有类似的东西吗? 最佳答案 您可能无法完全恢复,但可以使用SysRq(有时称为System

linux - 暂停后在 Xorg 环境中恢复键盘设置

我没有使用像Gnome或KDE这样的大型DE,也没有使用xset命令更改键盘速率:xsetrrate25070但是在系统挂起后(通过pm-suspend)这个设置丢失了,因为udev删除并再次添加所有设备。我尝试使用udev规则:#/etc/udev/rules.d/00-custom-keyboard.rulesACTION=="add",SUBSYSTEM=="usb",RUN+="/usr/bin/xsetrrate25070"#NotworkingACTION=="add",SUBSYSTEM=="usb",RUN+="touch/tmp/test"#Workingpretty

c++ - C++ 中的崩溃恢复

我有一个在Linux环境中用C++编写的应用程序。该应用程序在运行时动态加载库(共享对象)。(应用程序获取用户命令,它将执行动态加载所需共享库的逻辑。)当共享库发生crash或segfault时,有什么方法可以防止应用程序崩溃退出?我希望我的应用程序处于事件状态并向用户报告崩溃。 最佳答案 作为Itwasntpeteanswered您可以设置(使用sigaction(2)和SA_SIGINFO,不要使用signal(2)!)SIGSEGV的信号处理程序。但是,仔细阅读signal(7)首先。请注意,如果您想完全捕获SIGSEGV(或

mongodb - 停止 mongo 上的副本集,主节点进入恢复状态

当我停止我的副本集的节点并再次启动它们时,主节点进入“正在恢复”状态。我创建了一个副本集,未经授权运行。为了使用授权,我添加了用户“db.createUser(...)”,并在配置文件中启用了授权:security:authorization:"enabled"在停止副本集之前(甚至在不添加安全参数的情况下重新启动集群),rs.status()显示:{"set":"REPLICASET","date":ISODate("2016-09-08T09:57:50.335Z"),"myState":1,"term":NumberLong(7),"heartbeatIntervalMillis

mongodb - 停止 mongo 上的副本集,主节点进入恢复状态

当我停止我的副本集的节点并再次启动它们时,主节点进入“正在恢复”状态。我创建了一个副本集,未经授权运行。为了使用授权,我添加了用户“db.createUser(...)”,并在配置文件中启用了授权:security:authorization:"enabled"在停止副本集之前(甚至在不添加安全参数的情况下重新启动集群),rs.status()显示:{"set":"REPLICASET","date":ISODate("2016-09-08T09:57:50.335Z"),"myState":1,"term":NumberLong(7),"heartbeatIntervalMillis

linux - 我可以从提取中恢复 GIT 存储吗

我有一个git存储库,我的同事在他的PC上有一个克隆。无论出于何种原因,我们都因技术问题丢失了他的存储库。在我们丢失他的仓库前不久,他藏了一些工作,我做了一个gitfetch,然后是一个gitmergemaster。是否可以获取存储的内容?gitfetch命令是否也将存储库pull过来?我可以使用gitbranch-a查看所有远程分支,但我需要stash的数据。我们在Ubuntu9.10Karmic上运行gitversion1.6.3.3 最佳答案 抱歉,我认为您无法从中恢复过来。(可以说,如果可以的话,这将是一个安全风险;有人可能

c++ - 如何检测磁盘已满错误并让程序在获得可用磁盘空间后恢复

我正在编写一个在LINUX上运行的应用程序,它使用fprintf和fwrite写入磁盘。我希望能够捕获“磁盘已满”错误,提示用户腾出更多空间,然后恢复操作,就好像什么事都没发生过一样。有什么优雅的解决方案吗? 最佳答案 检查每次调用fprintf()和fwrite()的返回值。如果任一调用返回负值,请检查errno以查看errno是否等于EDQUOT或ENOSPC,请参阅manpageforwrite(或者在fprintf()的情况下,甚至可能是ENOMEM,如somemanpagesforfprintf中所述,但不是inall)。

linux - 我可以在 linux 中恢复我不小心执行了 "rm"的文件吗?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭13年前。Improvethisquestion您知道我可以用来恢复不小心删除的文件的任何工具/命令吗?

c - C Linux 下的 DST 恢复

我有来自德国柏林的日期/时间信息。例如:2011-05-1612:24:23,2011-01-2117:00:31不幸的是,这些时间没有夏令时信息。我知道第一次约会是CEST,第二次是CET。我可以写一个检查日期/时间是否是夏令时。夏令时从3月的最后一个星期日凌晨2:00开始,到10月的最后一个星期日凌晨3点结束。self开发这样的检查对我来说似乎容易出错。有没有已经可以在linux下用C的东西?感谢您的帮助。 最佳答案 您可以使用mktime()将时间转换为time_t,然后将其传递回localtime(),这将设置tm_isds